package controllers;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;


import models.Fornecedor;


public class ControllerFornecedor extends Application {
	public static void CadastrarFornecedor() throws SQLException {
		render();
	}

	public static void doCadastrarFornecedor(Fornecedor fornecedor)
			throws SQLException {
		conectar();
		
		String insert_produto = "INSERT INTO Potiguar.fornecedor (nome_fornecedor,email,telefone,endereco) VALUES('"
				+ fornecedor.getNome_fornecedor()
				+ "','"
				+ fornecedor.getEmail()
				+ "','"
				+ fornecedor.getTelefone()
				+ "','" + fornecedor.getEndereco() + "')";

		try {
			comando.executeUpdate(insert_produto);
		} catch (SQLException e) {
			e.printStackTrace();
		}

		telaCadastrar();
	}

	public static void doEditarFornecedor(Fornecedor fornecedoraux)
			throws SQLException {
		conectar();
	
		ResultSet result;
		Fornecedor fornecedor = new Fornecedor();
		try {
			result = comando
					.executeQuery("select * from Potiguar.fornecedor WHERE nome_fornecedor='"
							+ fornecedoraux.getNome_fornecedor() + "'");
			while (result.next()) {
				fornecedor.setId_fornecedor(result.getInt("id_fornecedor"));
				fornecedor.setNome_fornecedor(result
						.getString("nome_fornecedor"));
				fornecedor.setEmail(result.getString("email"));
				fornecedor.setEndereco(result.getString("endereco"));
				fornecedor.setTelefone(result.getString("telefone"));
			}

		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		calledEditarFornecedor(fornecedor);
	}

	public static void calledEditarFornecedor(Fornecedor fornecedor) {
		render(fornecedor);

	}

	public static void docalledEditarFornecedor(Fornecedor fornecedoraux)
			throws SQLException {
		conectar();
		String string = new String();
		try {
			string = ("UPDATE Potiguar.Fornecedor SET nome_fornecedor='"
					+ fornecedoraux.getNome_fornecedor() + "',email='"
					+ fornecedoraux.getEmail() + "',endereco='"
					+ fornecedoraux.getEndereco() + "',telefone='"
					+ fornecedoraux.getTelefone() + "' WHERE id_fornecedor="
					+ fornecedoraux.getId_fornecedor() + "");
			comando.executeUpdate(string);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		telaEditar();
	}

	public static void EditarFornecedor() throws SQLException {
		conectar();
		List<Fornecedor> list_fornecedor = new ArrayList<Fornecedor>();
		ResultSet result;

		try {
			result = comando.executeQuery("select nome_fornecedor from Potiguar.fornecedor");
			while (result.next()) {
				Fornecedor fornecedor = new Fornecedor();
				fornecedor.setNome_fornecedor(result.getString("nome_fornecedor"));
				list_fornecedor.add(fornecedor);

			}

		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		render(list_fornecedor);
	}

	public static void ExcluirFornecedor() throws SQLException {
		conectar();
		List<Fornecedor> list_fornecedor = new ArrayList<Fornecedor>();
		ResultSet result;

		try {
			result = comando
					.executeQuery("select nome_fornecedor from Potiguar.fornecedor");
			while (result.next()) {
				Fornecedor fornecedor = new Fornecedor();
				fornecedor.setNome_fornecedor(result
						.getString("nome_fornecedor"));
				list_fornecedor.add(fornecedor);

			}

		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		render(list_fornecedor);
	}

	public static void doExcluirFornecedor(Fornecedor fornecedor)
			throws SQLException {
		conectar();

		String delete_fornecedor = "DELETE FROM Potiguar.fornecedor WHERE nome_fornecedor="
				+ "'" + fornecedor.getNome_fornecedor() + "'";

		try {
			comando.executeUpdate(delete_fornecedor);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		ExcluirFornecedor();
	}
}
